Gateway device to connect native fibre channel ports to pure fibre channel over ethernet storage area networks

ABSTRACT

A gateway device for use between a Fibre Channel over Ethernet (FCoE) network and a Fibre Channel (FC) storage area network (SAN) device includes a controller, at least one first native Fibre Channel F_Port in operable communication with the controller and configured to interface with a native Fibre Channel N_Port of the FC SAN device, and at least one first virtual N_Port (VN_Port) linked to the at least one first native Fibre Channel F_Port and in operable communication with the controller; the controller being configured to translate an FC FDISC received by the at least one first native Fibre Channel F_Port into an FIP NPIV FDISC and to send the FIP NPIV FDISC on the at least one first virtual N_Port (VN_Port) to establish another virtual link.

CROSS REFERENCE TO RELATED APPLICATIONS

This Application is a Continuation of U.S. patent application Ser. No.14/811,518, filed on Jul. 28, 2015, which is a Continuation of U.S.patent application Ser. No. 13/534,086, filed on Jun. 27, 2012, now U.S.Pat. No. 9,143,567.

BACKGROUND OF THE INVENTION

Field of the Invention

The present invention relates in general to gateway devices, and moreparticularly, to gateway devices for use with Fibre Channel and FibreChannel over Ethernet devices.

Description of the Related Art

Fibre Channel is a high reliability, high speed network technology thatis often used in storage networking, particularly in storage areanetwork (SAN) environments. Many data centers use Fibre Channel (FC) forstorage networking, and, in conjunction, use Ethernet for TCP/IPnetworks. As a result, the data center has two separate networks tomaintain. FCoE is a network protocol that encapsulates Fibre Channelframes in Ethernet frames in order to allow Fibre Channel to be usedover an Ethernet infrastructure. FCoE thus allows storage trafficgenerated according to the FC protocol to share infrastructure withnetwork traffic generated according to Ethernet protocols such asTCP/IP.

SUMMARY OF THE INVENTION

Various embodiments are provided for a gateway device for use between aFibre Channel over Ethernet (FCoE) network and a Fibre Channel (FC)storage area network (SAN) device including a controller, at least onefirst native Fibre Channel F_Port in operable communication with thecontroller and configured to interface with a native Fibre ChannelN_Port of the FC SAN device, and at least one first virtual N_Port(VN_Port) linked to the at least one first native Fibre Channel F_Portand in operable communication with the controller; the controller beingconfigured to translate an FC FDISC received by the at least one firstnative Fibre Channel F_Port into an FIP NPIV FDISC and to send the FIPNPIV FDISC on the at least one first virtual N_Port (VN_Port) toestablish another virtual link.

In addition to the foregoing exemplary embodiment, various other systemand computer program product embodiments are provided and supply relatedadvantages. The foregoing summary has been provided to introduce aselection of concepts in a simplified form that are further describedbelow in the Detailed Description. This Summary is not intended toidentify key features or essential features of the claimed subjectmatter, nor is it intended to be used as an aid in determining the scopeof the claimed subject matter. The claimed subject matter is not limitedto implementations that solve any or all disadvantages noted in thebackground.

BRIEF DESCRIPTION OF THE DRAWINGS

In order that the advantages of the invention will be readilyunderstood, a more particular description of the invention brieflydescribed above will be rendered by reference to specific embodimentsthat are illustrated in the appended drawings. Understanding that thesedrawings depict only typical embodiments of the invention and are nottherefore to be considered to be limiting of its scope, the inventionwill be described and explained with additional specificity and detailthrough the use of the accompanying drawings, in which:

FIG. 1 illustrates a block diagram of a network system including agateway device, according to an embodiment;

FIG. 2 illustrates a flow diagram of a method of operating networksystem of

FIG. 1, according to an embodiment; and

FIG. 3 illustrates an additional block diagram of a network systemincluding a gateway device, according to an embodiment.

DETAILED DESCRIPTION OF THE DRAWINGS

The illustrated embodiments below provide gateway devices for usebetween a Fibre Channel over Ethernet (FCoE) devices and Fibre Channel(FC) devices and a device in a storage area network (SAN). Moreparticularly, the gateway device is configured to allow connectivity ofa legacy Fibre Channel N-Port to a pure FCoE lossless Ethernet SANdevice (e.g., a device with no FC ports). In this regard, the gatewaydevice includes a controller, at least one first native Fibre ChannelF_Port in operable communication with the controller and configured tointerface with a native Fibre Channel N_Port of the SAN storage device,and at least one first virtual N_Port (VN_Port) linked to the at leastone first native Fibre Channel F_Port and in operable communication withthe controller and configured to interface with a VF_Port of an FCoESAN. Methods and systems including the gateway device are alsocontemplated.

Turning to FIG. 1, a block diagram of a network system 10 includinggateway devices 12 is illustrated. Network system 10 includes one ormore computing devices 14 connected to a storage device 16 via one ormore gateway devices 12. One or more of computing devices 14 are furtherlinked to one or more gateway devices 12 through one or more FCoEForwarders (FCF) 18 and/or a Lossless Ethernet Network (CEE) 20containing at least one FCF. Computing devices 14 and FCF 18 and/or CEE20 are included as part of one or more storage area networks (SAN). Eachof these components will now be described below.

Computing devices 14 are configured to communicate data to storagedevice 16. In an embodiment, communication occurs using Fibre Channelover Ethernet (FCoE) protocols. In an embodiment, one or more ofcomputing devices 14 are servers. Computing devices 14 each includecontrollers 22 having software and/or hardware elements configured toenable FC and FCoE communications and FC/FCoE components 24. FC/FCoEcomponents 24 are configured to provide necessary functionality toenable FC communications over lossless Ethernet connections (e.g., toCEE 20) or over FCoE FCFs (e.g., FCF 18), and in this regard, includevirtual N_Ports (VN_Port) 26 for such communications.

Storage device 16 includes a computer-readable storage medium 28, acontroller 30, and one or more FC native N_Ports 32. Computer-readablestorage medium 28 may be any type of computer-readable storage mediumknown in the art or developed in the future. For example, storage device16 may comprise storage tape, an optical storage device, one or moredisk storage devices (e.g., a RAID configuration, a JBOD configuration,etc.), and/or the like. In other embodiments, storage device 16 mayinclude more than one computer-readable storage medium 28. In at leastone of these embodiments, storage device 16 includes at least twodifferent types of computer-readable storage media. Controller 30 may beany type of processor known in the art or developed in the futurecapable of performing input/output (I/O) operations on storage medium 28via ports 32. Although FIG. 1 shows storage device 16 as including asingle controller 30, various other embodiments of storage device 16include more than one controller 30. FC native N_Ports 32 are capable ofdetecting SFP devices that are supported by each respective N_Port 32.According to FC protocol, each N_Port 32 is configured to be assigned toa single native fibre channel F_Port and to establish a link with thatF_Port.

As noted previously, intervening components, such as FCFs 18 and/or CEE20 may be included between gateway device 12 and computing devices 14.FCFs 18 are configured to forward translated FCoE frames over anenhanced Ethernet to devices of SAN 5 (e.g., computing devices 14). FCFs18 include Ethernet ports, e.g., virtual F_Ports 39, which are virtuallylinked via virtual links 52 to corresponding VN_Ports 26 of computingdevices 14. CEE 20 similarly includes FCFs (not shown), but presentsVN_Ports 26 of devices 14 as ports thereon.

To allow FC_N Port 32 of storage device 16 to connect with acorresponding VN_Port 26 of computing devices 14, gateway device 12 isemployed. Gateway device 12 includes a controller 40, one or more nativeFibre Channel (FC) F_Ports 42, and one or more FCoE virtual N_Ports(VN_Ports) 44. Controller 40 resides in an E-Node of gateway device 12and is configured to perform various discovery, initialization, andother FCoE protocols typically designated for a VN_Port capable MAC.Controller 40 may be any type of processor or processing portion of adevice known in the art or developed in the future capable of performinginput/output (I/O) operations on gateway device 12. FC F_Ports 42 are inoperable communication with controller 40 and configured to interfacewith FC N_Port 32 of storage device 16 via physical links 50. Physicallinks 50 include, but are not limited to cables and other physicaldevices suitable for physically connecting two ports. In an embodiment,FC F_Ports 42 are adapted to virtualize the functionality of the F_Portin a FC switch as described by T11/FC-FS-2 and FC-SW-5 standards.VN_Ports 44 are in operable communication with controller 40 and areconfigured to be accessed by and to form virtual links 52 with VN_Ports26 of computing device 14 or other VF_Ports (e.g., VF_Ports 39 of FCF18).

FIG. 2 is a flow diagram of a method 200 of operating system 10,according to an embodiment. During operation, storage device 16 mayrequest access to device 14 of SAN 5 at 202. In order to do so, gatewaydevice 12 initially is connected to storage device 16 such that each NPort 32 of storage device 16 is linked via physical link 50 to acorresponding F_Port 42 on gateway device 12. Physical links 50 betweenN_Ports 32 and F_Ports 42 are established according to Fibre Channelprotocols. As a result of linking gateway device 12 to storage device16, VN_Ports 44 of gateway device 12 allows storage device 16 to appearto present native FCoE VN_Ports to SAN 5.

Controller 40 performs FCoE initialization protocols as required by theT11/FC-BB-5 standard for a VN_Port Capable MAC to establish virtuallinks 52 at 204. FCoE initialization protocols includes, but are notlimited to virtual local area network (VLAN) discovery protocols, FCFdiscovery protocols, virtual link instantiation protocols, virtual linkmaintenance protocols, and other protocols. VLAN discovery protocolsdetermine the VLANs for which FCoE protocols are supported. FCFdiscovery protocols are used to discover FCFs in the FCoE SAN. DuringVLAN Virtual Link Instantiation Protocols, controller 40 establishesvirtual links 52 between VN_Ports 44 of gateway device 12 and one ormore of CEE 20 and/or corresponding VF_Ports 39 of FCFs 18.

N_Port of 32 of each storage device 16 performs a Fabric Login (FLOGI)operation, the FC FLOGI request received by F_Port 42 is translated bycontroller 40 to a FIP FLOGI request and is sent on VN_Port 44 to apreviously discovered FCF 18 (at 204) to instantiate FCoE virtual link52 according to T11/FC-BB-5 standards. Alternatively, a FC FLOGI requestreceived by F_Port 42 is translated to a FIP N_Port ID Virtualization(NPIV) discover service fabric parameters (FDISC) request and is sent onVN_Port 44 to a corresponding FCF 18 instantiating a virtual link, e.g.,link 52. In an embodiment in which many FC IDs are requested usingdiscover service fabric parameters (FDISC) requests, such requests areencapsulated into FIP requests and sent to FCFs 18. In an example, FCFDISC requests received by F_Port 42 are translated into FIP N_Port IDVirtualization (NPIV) discover service fabric parameters (FDISC) and aresent on VN_Port 44 to FCF 18,to establish another virtual link. When theFIP FLOGI or FIP FDISC request is accepted (e.g., FIP FLOGI LS_ACC orFIP FDISC LS_ACC), it is translated to a FC LS_ACC response with theFC_ID assigned by FCF 18. F_Ports 42 are mapped to VN_Ports 44 viaconfiguration (e.g., port to port or VLAN) mapping or by implementingload balancing algorithms with multiple paths to FCFs 18 on the sameVLAN.

When virtual links 52 are established, any native FC frames receivedfrom storage device 16 by gateway device 18 (e.g., via F_Port 26) areencapsulated into FCoE frames and sent through VN_Ports 44 to FCFs 18.Any FCoE frames received on VN_Ports 44 are de-encapsulated and sentthrough F_Port 42 to storage device 16. Translation (i.e., encapsulationand/or de-capsulation) is performed according to known methods.

Virtual and physical links 52 and 50 are maintained at 206. FCoEcontroller 40 maintains virtual links 52 by implementing Virtual LinkMaintenance Protocols as delineated in T11/FC-BB-5. Virtual LinkMaintenance protocols include sending of VN_Port and E_Node FIP KeepAlive messages to FCF 18 and monitoring reception of FIP DiscoveryAdvertisements from FCF 18 to ensure communication between FCF 18 andthe VN_Ports 44 on the gateway device is maintained.

If a failure of one or more of virtual link 52 between VN_Ports 44 andVF_Ports 39 is detected during link maintenance, such failure isreflected on F_Port 42 of gateway device 18 using FC primitivesequences. In particular, the FC primitive sequences indicate theoperational state of the link e.g., not operational (NOS), offline(OLS), and the like. If a failure of one or more of physical links 50 isdetected by F_Port 42 of gateway device 18, such failure is reflected tothe FCoE virtual link 52 by sending a FIP encapsulated logout (LOGO) tothe FCF for each of the currently established virtual links.

By employing gateway device 18 as described above, legacy Fibre Channeldevices are able to connect to FCoE devices of a SAN. In particular,inclusion of both FC and Ethernet ports on a single gateway deviceprovides multi-point connectivity between the legacy FC devices and FCoEdevices of a SAN. Although computing devices 14 are described ascommunicating with storage devices 16 via FCoE protocols, FC protocolsare employed in other embodiments. In an example, as shown in FIG. 3,computing devices 114, configured substantially similar to computingdevices 14, alternatively are configured to communicate with storagedevices 116, configured substantially similarly to storage devices 16,according to FC protocols, and devices 114 comprise FC servers orcomputing device while storage devices 116 comprise FCoE storagedevices. In such a configuration, F_Ports 142, configured substantiallysimilarly to F_Ports 42, on gateway device 112 (substantially similarlyconfigured to device 12) communicate with N_Ports 132 (similar toN_Ports 32) of computing devices 114, VN_Ports 144 (similar to VN_Ports44) of gateway device 112 are virtually linked to VN_Ports 126 (similarto VN_Ports 26) of storage device 114, and the basic operations andconfigurations described above continue to be applicable.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

While one or more embodiments of the present invention have beenillustrated in detail, the skilled artisan will appreciate thatmodifications and adaptations to those embodiments may be made withoutdeparting from the scope of the present invention as set forth in thefollowing claims.

What is claimed is:
 1. A gateway device for use between a Fibre Channelover Ethernet (FCoE) network and a Fibre Channel (FC) storage areanetwork (SAN) device comprising: a controller; at least one first nativeFibre Channel F_Port (FCF) in operable communication with the controllerand configured to interface with a native Fibre Channel N_Port of the FCSAN device; and at least one first virtual N_Port (VN_Port) linked tothe at least one first native Fibre Channel F_Port and in operablecommunication with the controller; wherein the controller is configuredto translate an FC FDISC received by the at least one first native FibreChannel F_Port into an FIP NPIV FDISC and to send the FIP NPIV FDISC onthe at least one first virtual N_Port (VN_Port) to establish anothervirtual link.
 2. The gateway device of claim 1, wherein the at least onefirst VN_Port virtually links to at least one virtual F_Port (VF_Port).3. The gateway device of claim 1, wherein the at least one first VN_Portvirtually links with a lossless Ethernet network (CEE) having at leastone FCoE forwarder (FCF).
 4. The gateway device of claim 1, wherein thecontroller is configured to perform FCoE initialization protocols. 5.The gateway device of claim 4, wherein the FCoE initialization protocolscomprise a VN_Port capable MAC protocol selected from a group consistingof virtual local area network (VLAN) discovery protocols, FCF discoveryprotocols, virtual link instantiation protocols, and virtual linkmaintenance protocols.
 6. The gateway device of claim 1, wherein thecontroller is configured to perform a virtual link instantiation when aFabric Login (FLOGI) is received from a Fibre Channel device.
 7. Thegateway device of claim 6, wherein the controller is configured totranslate a first FC FLOGI received by the at least one first nativeFibre Channel F_Port into a Fibre Channel Initiation Protocol Login (FIPFLOGI) and to send the FIP FLOGI to a discovered FCF.
 8. The gatewaydevice of claim 7, wherein the controller is further configured totranslate a first FC Fabric Login (FLOGI) received by the at least onefirst native Fibre Channel F_Port into a FIP N_Port ID Virtualization(NPIV) discover service fabric parameter (FDISC) and to send the FIPNPIV FDISC to an FCF to instantiate a virtual link.
 9. A network systemcomprising: a Fibre Channel over Ethernet (FCoE) server including atleast one first virtual N_Port (VN_Port); a Fibre Channel (FC) storagein operable communication with the FCoE server including at least onefirst native Fibre Channel N_Port; and a gateway device in communicationwith the FC storage including: a controller; at least one first nativeFibre Channel F_Port (FCF) in operable communication with the controllerand interfacing with the at least one first native Fibre Channel N_Portof the FC storage; and at least one second virtual N_Port (VN_Port)linked to the at least one first native Fibre Channel F_Port and inoperable communication with the controller; wherein the controller isconfigured to translate an FC FDISC received by the at least one firstnative Fibre Channel F_Port into an FIP NPIV FDISC and to send the FIPNPIV FDISC on the at least one first virtual N_Port (VN_Port) toestablish another virtual link.
 10. The network system of claim 9,further comprising a lossless Ethernet network (CEE) including at leastone FCoE Forwarder (FCF) in operable communication with the at least onefirst VN_Port of the FCoE server and the at least one second VN_Port ofthe gateway device.
 11. The network system of claim 9, furthercomprising a FCF including a first virtual F_Port (VF_Port) linking withthe at least one first VN_Port of the FCoE server and a second VF_Portlinking with the at least one second VN_Port of the gateway device. 12.The network system of claim 9, wherein the controller of the gatewaydevice is configured to perform FCoE initialization protocols.
 13. Thegateway device of claim 12, wherein the FCoE initialization protocolscomprise a VN_Port capable MAC protocol selected from a group consistingof virtual local area network (VLAN) discovery protocols, FCF discoveryprotocols, virtual link instantiation protocols, and virtual linkmaintenance protocols.
 14. A method of connecting a native Fibre Channelport to a pure Fibre Channel over Ethernet (FCoE) Storage Area Network(SAN) comprising: providing a gateway device including a controller, atleast one first native Fibre Channel F_Port (FCF) in operablecommunication with the controller and configured to interface with anative Fibre Channel N_Port of the SAN, and at least one first virtualN_Port (VN_Port) linked to the at least one first native Fibre ChannelF_Port and in operable communication with the controller; wherein thecontroller is configured to translate an FC FDISC received by the atleast one first native Fibre Channel F_Port into an FIP NPIV FDISC andto send the FIP NPIV FDISC on the at least one first virtual N_Port(VN_Port) to establish another virtual link.
 15. The method of claim 14,further comprising performing a virtual local area network discoveryprotocol.
 16. The method of claim 15, further comprising performing aFCoE Forwarder (FCF) discovery protocol.
 17. The method of claim 16,further comprising performing a Fabric Login (FLOGI) operation.
 18. Themethod of claim 17, wherein performing the FLOGI operation includesperforming a virtual link instantiation when FLOGI is received from aFibre Channel device to establish a virtual link.
 19. The method ofclaim 18, wherein performing the FLOGI operation includes translating afirst FC Fabric Login (FLOGI) received by the at least one first nativeFibre Channel F_Port into a FIP N_Port ID Virtualization (NPIV) discoverservice fabric parameter (FDISC) and to send the FIP NPIV FDISC to anFCF to instantiate a virtual link.
 20. The method of claim 19, furthercomprising performing virtual link maintenance on the establishedvirtual link.
 21. The method of claim 20, further comprising detecting afailure on the established virtual link and indicating the failure onthe at least one first native Fibre Channel F_Port of the gatewaydevice.
 22. The method of claim 17, wherein performing the FLOGIoperation includes translating a first Fibre Channel (FC) FLOGI receivedby the at least one first native Fibre Channel F_Port into a FibreChannel Initiation Protocol (FIP) FLOGI and sending the FIP FLOGI to adiscovered FCF via the at least one first virtual N_Port (VN_Port).